草庐IT

Android GoogleMap 或 SupportMapFragment - 空指针异常

全部标签

php - ZF3/2 - 如何捕获在 EVENT_DISPATCH 监听器中抛出的异常?

有什么方法可以处理在EVENT_DISPATCH监听器中抛出的异常?classModule{publicfunctiononBootstrap(EventInterface$event){$application=$event->getTarget();$eventManager=$application->getEventManager();$eventManager->attach(MvcEvent::EVENT_DISPATCH,function(MvcEvent$event){thrownewForbiddenException("403-Fobidden");});}}我有一

php - Slim3/DRY - 如何在不重复代码的情况下正确处理错误/异常?

我正在使用Slim3开发一个相当大的JSONAPI。我的Controller/操作目前充斥着以下内容:return$response->withJson(['status'=>'error','data'=>null,'message'=>'Usernameorpasswordwasincorrect']);在应用程序的某些点上,任何事情都可能出错,响应需要适当。但有一点很常见,就是错误响应总是相同的。status始终是error,data是可选的(在表单验证错误的情况下,data将包含那些)并且message设置为向API的用户或消费者指示出了什么问题。我闻到了代码重复的味道。如何减

php - 将错误作为异常处理。最好的方法?

我想弄清楚是否有比我在下面所做的更好或更好的方法来处理PHP中的错误。如果parse_ini_file调用有问题,我想抛出异常。这行得通,但是是否有更优雅的方法来处理错误?publicstaticfunctionloadConfig($file,$type){if(!file_exists($file)){require_once'Asra/Core/Exception.php';thrownewAsra_Core_Exception("{$type}filewasnotpresentatspecifiedlocation:{$file}");}//--cleartheerrorsel

PHP SimpleTest - 处理异常

我在论坛应用程序中使用了一些简单的类。我正在尝试使用SimpleTest运行一些测试,但我遇到了异常问题。我有一段代码生成自定义异常。有没有办法在我的测试中捕获这个异常并断言它是我所期望的?这是我类(class)中的方法:publicfunctionsave(){$this->errors=$this->validate();try{if(empty($this->errors)){Database::commitOrRollback($this->prepareInsert());}else{thrownewEntityException($this->errors);}}catch

PHPUnit异常测试,错误信息打乱结果输出

我似乎无法正确地执行此操作,异常的错误消息只是打印出来,使命令行窗口更难阅读。下面是我的代码的结构和测试代码。publicfunctionavailableFruits($fruit){switch($fruit){case'foo'://allgoodbreak;case'bar'://allgoodbreak;default:thrownewException($fruit.'notavailable!');break;}}publicfunctionchooseFruit($fruit){try{availableFruits($fruit);}catch(Exception$e

PHP 异常处理程序终止脚本

基本上我有一个自定义异常处理程序。当我处理异常时,我只希望它回显消息并继续执行脚本。但是在我的方法处理了异常之后,脚本没有继续。这是php的行为还是我的异常处理程序做错了什么? 最佳答案 这是php的一个行为。根据set_exception_handler()上的手册,这与set_error_handler()的不同之处在于,调用exception_handler后会停止执行。因此,请确保捕获所有异常,只让那些您想要杀死您的脚本。这实际上就是为什么set_error_handler()在将所有错误转换为异常时不能很好地与异常和set

php - 我无法在 php 代码中捕获异常

我有以下代码:functiondoSomething(){try{doSomeNastyStuff()//throwsException}catch(\Exception$e){if($this->errorHandler){call_user_func($e);}else{throw($e);}}}但是,catchblock不起作用。堆栈跟踪显示错误发生在doSomeNastyStuff()行。问题出在哪里? 最佳答案 问题是,您正在重新抛出异常。堆栈跟踪是Exception实例的一部分,并在创建异常时记录。您可以通过以下方式获取

php - 如果存在则调用子类的 __call 方法,如果不存在则抛出异常

[edit]更新了标题以更准确地反射(reflect)问题我要解决的问题是:我需要知道是否通过parent::调用了一个方法,虽然我可以使用debug_backtrace,但它似乎在那里一定是执行此操作的更好方法。我一直在研究后期静态绑定(bind),但也许我对它的理解不够深入,无法找到解决方案。有问题的方法是__call,所以我不能简单地传入一个额外的参数,因为它的错误是多于或少于恰好两个。试图解决这个问题的原因是父类有__call但子类可能有也可能没有_call。如果child没有,并且parent没有派发电话,那么我想抛出异常或错误。如果child确实有该方法,那么我将返回fal

php - Eclipse PHP Xdebug 调试指针中是否有后退按钮?

我正在使用Eclipse使用Xdebug调试PHP。一切顺利,除非我希望调试指针返回到之前的行。这可能吗?我不想重新启动调试。具体来说,假设我在第500行然后继续到第505行,Eclipse中的调试指针是否可以返回到第500行以检查我的变量的状态?我对使用Eclipse进行调试还是个新手,所以我很感激有关如何完成调试的任何提示。谢谢。 最佳答案 不,这是不可能的。Xdebug不允许您这样做。您必须从头开始重新运行程序才能回到同一点。(当然除非它在循环中) 关于php-EclipsePHP

php - 如何从另一个类方法 PHP 中捕获异常

我在PHP中捕获异常时遇到问题这是我的代码。try{require$this->get_file_name($action);}catch(Exception$e){//dosomething//}和被调用的方法privatefunctionget_file_name($action){$file='../private/actions/actions_'.$this->group.'.php';if(file_exists($file)===false){thrownewException('Thefileforthis'.$action.'wasnotfound.');}else{